home *** CD-ROM | disk | FTP | other *** search
- rem ==============================================================
- rem == Interrupt $0B: ==
- rem == AH=Funktionsnummer ==
- rem == ==
- rem == AH=1: GetParamOffset ==
- rem == => AL = JIntNummer ==
- rem == <= DI = Offset ==
- rem == ==
- rem == AH=2: AllocJanusMem ==
- rem == => AL = Speichertyp ==
- rem == => BX = Anzahl der Bytes ==
- rem == <= BX = Offset auf Speicher ==
- rem == ==
- rem == AH=3: FreeJanusMem ==
- rem == => AL = Speichertyp ==
- rem == => BX = Offset auf Speicher ==
- rem == ==
- rem == AH=4: SetParamOffset ==
- rem == => AL = JIntNummer ==
- rem == => BX = Offset ==
- rem == ==
- rem == AH=5: Nicht benutzt ==
- rem == AH=6: Nicht benutzt ==
- rem == ==
- rem == AH=15: LockService ==
- rem == => DI = Service ==
- rem == ==
- rem == AH=16: UnLockService ==
- rem == => DI = Service ==
- rem == ==
- rem ==============================================================
-
- INCLUDE "REGNAMES.INC"
- def seg = &hd000
- cls
-
- AL=1
- AH=2
- REG %AX,(AH*256)+AL
- REG %BX,100
- call interrupt &HB
- erg=reg(%BX)
- ?"Speicheroffset:";erg
-
- if erg>1 then
- reg %AX,(3*256)+1
- reg %BX,erg
- call interrupt &HB
- end if
-
- ?"<< Taste >>"
-
- ?#1,"Interrupt-Einsprung-Lister Version 1.0 by Alligator Software Inc."
- ?#1,"===================================================================="
- ?#1,""
- ?#1,"Interrupt Segment Offset"
- ?#1,"------------------------------------------"
- for i=0 to 255
- DEF SEG = 0
- ?#1,"INT:";
- CALL TR01(i)
- offs&=peek(i*4)+256*peek((i*4)+1)
- segm&=peek((i*4)+2)+256*peek((i*4)+3)
- if not (segm&=0 or offs&=0) then
- def seg = segm&
- if not (peek(offs&)=207) then
- CALL TR00(hex$(segm&),0)
- CALL TR00(hex$(offs&),1)
- else
- ?#1,"Not installed - OpCode IRET"
- end if
- else
- ?#1,"Not installed - No Segment"
- end if
- next
- close #1
- end
-
- sub TR00(a$,x) static
- if(len(a$)=1) then a$="000"+a$
- if(len(a$)=2) then a$="00"+a$
- if(len(a$)=3) then a$="0"+a$
- a$=a$+" "
- if x then ?#1,a$ else ?#1,a$;
- end sub
-
- sub TR01(x) static
- a$=str$(x)
- b$=hex$(x)
- if(len(a$)=1) then a$=" "+a$
- if(len(a$)=2) then a$=" "+a$
- a$=a$+" "
- if(len(b$)=1) then b$="0"+b$
- a$=a$+b$+" "
- ?#1,a$;
- end sub